export module Facility;

import DND;


import DefVar;
import Database;
import ResMgr;

//设施
export class Facility
{
public:
	//非POD变量放外面
	struct SL
	{
		Point _xy;
		natural _type;
	};
	//所有类型公用的变量才放入这里

	Facility(const SL& sl);

	AnyType& GetData() { return _data; }

	void RefreshUI();

	void Render(real scale_level);

	bool IsPickup();

	const SL& GetSL() { return _sl; }

	//load
	Facility(StreamInput& s, natural version);

	void Save(StreamOutput& s);

	~Facility();
private:
	SL _sl;

	AnyType _data;
};

